﻿Imports Control_Vuelos_BL
Imports Control_Vuelos_BE
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraGrid.Views.Grid.ViewInfo
Imports DevExpress.Data

Public Class frmAdm_Manifiesto
    Inherits frmBaseMantenimiento

    Private ReadOnly _V_Reservas As New V_ReservaBL()
    Private ReadOnly _Manifiesto As New ManifiestoBL()
    Private ReadOnly _ProgramaViaje As New ProgramaViajeBL()
    Private p_CodViaje As String
    Private p_CodLugarOrigen As String
    Private p_CodLugarDestino As String
    Private p_CodEmpresa As String
    Private p_NroPasajeros As Integer
    Private p_PesoVuelo As Decimal
    Private p_FchViaje As Date
    Private p_DesLugarOrigen As String
    Private p_DesLugarDestino As String
    Private p_NomEmpresa As String
    Private p_FlgVacio As Boolean
    Private pasajerosCount As Integer

    Private Sub frmAdm_Manifiesto_Disposed(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Disposed
        SG_Control_Vuelos_Main.RibbonPageGroup1.Visible = True
        SG_Control_Vuelos_Main.RibbonPageGroup2.Visible = True
        SG_Control_Vuelos_Main.RibbonPageGroup3.Visible = True
        SG_Control_Vuelos_Main.RibbonPageGroup4.Visible = True
        SG_Control_Vuelos_Main.RibbonPageGroup5.Visible = True
        SG_Control_Vuelos_Main.RibbonPageGroup6.Visible = True
        SG_Control_Vuelos_Main.RibbonPageGroup7.Visible = True
        SG_Control_Vuelos_Main.RibbonPageGroup9.Visible = True
    End Sub

    Private Sub frmAdm_Manifiesto_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        AddHandler ModAdm_Manifiesto1.TreeList1.FocusedNodeChanged, AddressOf prl_Select_Tree
        AddHandler ModAdm_Manifiesto1.TreeList2.FocusedNodeChanged, AddressOf prl_Select_TreeCerrado
        AddHandler ModAdm_Manifiesto1.BarButtonItem1.ItemClick, AddressOf prl_Button_Lock
        AddHandler ModAdm_Manifiesto1.BarManager1.ItemClick, AddressOf prl_Button_Responsable
        AddHandler ModAdm_Manifiesto1.BarButtonItem3.ItemClick, AddressOf prl_Button_Buscar
        AddHandler ModAdm_Manifiesto1.BarButtonItem4.ItemClick, AddressOf prl_Button_Masdatos
        AddHandler ModAdm_Manifiesto1.BarButtonItem5.ItemClick, AddressOf prl_Button_Valija
        AddHandler ModAdm_Manifiesto1.BarButtonItem6.ItemClick, AddressOf prl_Button_ValijaImpresion
        AddHandler ModAdm_Manifiesto1.btnVueloCancelado.ItemClick, AddressOf prl_Button_VueloCancelado
        AddHandler ModAdm_Manifiesto1.btnReservasPendientes.ItemClick, AddressOf prl_Button_ReservasPendientes
        AddHandler ModAdm_Manifiesto1.BtnCerradoParcial.ItemClick, AddressOf prl_Button_Cerrado
        AddHandler ModAdm_Manifiesto1.BtnAdjunto.ItemClick, AddressOf prl_Button_Adjunto
        AddHandler ModAdm_Manifiesto1.btnVueloVacio.ItemClick, AddressOf prl_Button_VueloVacio
        AddHandler ModAdm_Manifiesto1.GridView1.CustomSummaryCalculate, AddressOf prl_CalcularSumario
        AddHandler ModAdm_Manifiesto1.GridControl1.DoubleClick, AddressOf prl_DoubleClickGridControl1
        AddHandler ModAdm_Manifiesto1.GridControl2.DoubleClick, AddressOf prl_DoubleClickGridControl2
        AddHandler ModAdm_Manifiesto1.GridControl3.DoubleClick, AddressOf prl_DoubleClickGridControl3
        AddHandler ModAdm_Manifiesto1.GridControl4.DoubleClick, AddressOf prl_DoubleClickGridControl4
        AddHandler BarBtnImprimir.ItemClick, AddressOf prl_Imprimir
        AddHandler BarBtnRefresh.ItemClick, AddressOf prl_Refresh

        ModAdm_Manifiesto1.TreeList1.DataSource = _ProgramaViaje.pr_ListarProgramaViajeTreeList(p_coduser)
        ModAdm_Manifiesto1.TreeList1.ExpandAll()
        ModAdm_Manifiesto1.TreeList1.BestFitColumns()

        prl_SetUpGrid(ModAdm_Manifiesto1.GridControl1)
        prl_SetUpGrid(ModAdm_Manifiesto1.GridControl2)
        prl_SetUpGrid(ModAdm_Manifiesto1.GridControl3)
        prl_SetUpGrid(ModAdm_Manifiesto1.GridControl4)
        ModAdm_Manifiesto1.GridControl1.DataSource = _Manifiesto.pr_ListarManifiesto("")
        ModAdm_Manifiesto1.BarButtonItem4.Enabled = True
        ModAdm_Manifiesto1.GridView1.BestFitColumns()
        ModAdm_Manifiesto1.GridView2.BestFitColumns()
        ModAdm_Manifiesto1.GridView3.BestFitColumns()
        ModAdm_Manifiesto1.GridView4.BestFitColumns()
        ModAdm_Manifiesto1.TreeList2.DataSource = _ProgramaViaje.pr_ListarProgramaViajeTreeListCerrado(p_coduser)
        ModAdm_Manifiesto1.TreeList2.ExpandAll()
        ModAdm_Manifiesto1.TreeList2.BestFitColumns()
        ModAdm_Manifiesto1.GridColumn12.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Custom
        ModAdm_Manifiesto1.GridColumn12.SummaryItem.Tag = 2
        ModAdm_Manifiesto1.GridColumn12.SummaryItem.FieldName = "AppPasajero"
        ModAdm_Manifiesto1.GridColumn12.SummaryItem.DisplayFormat = " Resta: {0}"
    End Sub

#Region "Mostrar datos"

    Public Sub prl_Refresh()
        If p_CodLugarOrigen <> "" Then
            ModAdm_Manifiesto1.GridControl2.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("1", "2", p_CodLugarOrigen)
            ModAdm_Manifiesto1.GridControl3.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("3", "2", p_CodLugarOrigen)
            ModAdm_Manifiesto1.GridControl4.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("2", "2", p_CodLugarOrigen)
        End If
    End Sub

    Public Sub prl_Select_Tree(ByVal sender As Object, ByVal e As DevExpress.XtraTreeList.FocusedNodeChangedEventArgs)
        If e.Node.ParentNode Is Nothing Then
            ModAdm_Manifiesto1.GridBand1.Caption = "Manifiesto  "
            ModAdm_Manifiesto1.BarSubItem1.Enabled = False
            ModAdm_Manifiesto1.GridControl1.DataSource = Nothing
            ModAdm_Manifiesto1.BarButtonItem4.Enabled = True
            BarBtnImprimir.Enabled = False
            ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = False
            p_FlgVacio = False
        Else
            ModAdm_Manifiesto1.GridBand1.Caption = String.Format("Manifiesto : {0} -> {1} - {2}  : {3}", e.Node.GetValue(0), e.Node.ParentNode.GetValue(0), e.Node.GetValue(1), Format(e.Node.GetValue(3), "dd/MM/yyyy"))
            p_CodViaje = e.Node.GetValue(0)
            p_DesLugarOrigen = e.Node.ParentNode.GetValue(0)
            p_DesLugarDestino = e.Node.GetValue(1)
            p_NomEmpresa = e.Node.GetValue(2)
            p_FchViaje = e.Node.GetValue(3)
            p_NroPasajeros = e.Node.GetValue(4)
            p_PesoVuelo = e.Node.GetValue(5)
            p_CodEmpresa = e.Node.GetValue(6)
            p_CodLugarOrigen = e.Node.GetValue(7)
            p_CodLugarDestino = e.Node.GetValue(8)
            ModAdm_Manifiesto1.BarSubItem1.Enabled = True
            ModAdm_Manifiesto1.p_CodViaje = p_CodViaje
            ModAdm_Manifiesto1.GridControl1.DataSource = _Manifiesto.pr_ListarManifiesto(p_CodViaje)
            Dim CMani As New C_ManifiestoBE
            CMani = _Manifiesto.pr_RecuperarCabecera(p_CodViaje)
            If ModAdm_Manifiesto1.GridView1.RowCount > 0 Then
                ModAdm_Manifiesto1.BarButtonItem4.Enabled = True
                BarBtnImprimir.Enabled = True
                ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = True
                If CMani.EstadoManifiesto = "1" Then
                    ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = False
                    ModAdm_Manifiesto1.GridBand1.Caption = Trim(ModAdm_Manifiesto1.GridBand1.Caption) & "  (Cerrado Parcial) "
                Else
                    ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = True
                End If
                ModAdm_Manifiesto1.btnVueloVacio.Enabled = False
            Else
                ModAdm_Manifiesto1.BarButtonItem4.Enabled = False
                BarBtnImprimir.Enabled = False
                ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = False
                ModAdm_Manifiesto1.btnVueloVacio.Enabled = True
            End If
            If CMani.FlgVacio = True Then
                ModAdm_Manifiesto1.GridBand1.Caption = Trim(ModAdm_Manifiesto1.GridBand1.Caption) & "  Sin Pasajeros"
                ModAdm_Manifiesto1.btnVueloVacio.Enabled = False
                BarBtnImprimir.Enabled = True
                p_FlgVacio = True
                ModAdm_Manifiesto1.BarButtonItem4.Enabled = True
            Else
                p_FlgVacio = False
            End If

            ModAdm_Manifiesto1.GridControl2.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("1", "2", p_CodLugarOrigen)
            ModAdm_Manifiesto1.GridControl3.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("3", "2", p_CodLugarOrigen)
            ModAdm_Manifiesto1.GridControl4.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("2", "2", p_CodLugarOrigen)
        End If
    End Sub

    Public Sub prl_Select_TreeCerrado(ByVal sender As Object, ByVal e As DevExpress.XtraTreeList.FocusedNodeChangedEventArgs)
        If e.Node.ParentNode Is Nothing Then
            ModAdm_Manifiesto1.GridBand1.Caption = "Manifiesto  "
            ModAdm_Manifiesto1.BarSubItem1.Enabled = False
            ModAdm_Manifiesto1.GridControl1.DataSource = Nothing
            ModAdm_Manifiesto1.BarButtonItem4.Enabled = True
            BarBtnImprimir.Enabled = False
            ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = False
            p_FlgVacio = False
        Else
            ModAdm_Manifiesto1.GridBand1.Caption = String.Format("Manifiesto : {0} -> {1} - {2}  : {3}", e.Node.GetValue(0), e.Node.ParentNode.GetValue(0), e.Node.GetValue(1), Format(e.Node.GetValue(3), "dd/MM/yyyy"))
            p_CodViaje = e.Node.GetValue(0)
            p_DesLugarOrigen = e.Node.ParentNode.GetValue(0)
            p_DesLugarDestino = e.Node.GetValue(1)
            p_FchViaje = e.Node.GetValue(3)
            p_NroPasajeros = e.Node.GetValue(4)
            p_NomEmpresa = e.Node.GetValue(2)
            p_CodEmpresa = e.Node.GetValue(6)
            p_CodLugarOrigen = e.Node.GetValue(7)
            p_CodLugarDestino = e.Node.GetValue(8)
            ModAdm_Manifiesto1.BarSubItem1.Enabled = True
            ModAdm_Manifiesto1.p_CodViaje = p_CodViaje
            ModAdm_Manifiesto1.GridControl1.DataSource = _Manifiesto.pr_ListarManifiesto(p_CodViaje)
            ModAdm_Manifiesto1.btnVueloVacio.Enabled = False
            Dim CMani As New C_ManifiestoBE
            CMani = _Manifiesto.pr_RecuperarCabecera(p_CodViaje)
            If ModAdm_Manifiesto1.GridView1.RowCount > 0 Then
                ModAdm_Manifiesto1.BarButtonItem4.Enabled = True
                BarBtnImprimir.Enabled = True
                ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = True
                If CMani.EstadoManifiesto = "2" Then
                    ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = False
                    ModAdm_Manifiesto1.GridBand1.Caption = Trim(ModAdm_Manifiesto1.GridBand1.Caption) & "  (Cerrado Completo) "
                Else
                    ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = True
                End If
            Else
                ModAdm_Manifiesto1.BarButtonItem4.Enabled = False
                BarBtnImprimir.Enabled = False
                ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = False
            End If
            If CMani.FlgVacio = True Then
                ModAdm_Manifiesto1.GridBand1.Caption = Trim(ModAdm_Manifiesto1.GridBand1.Caption) & "  Sin Pasajeros"
                BarBtnImprimir.Enabled = True
                p_FlgVacio = True
                ModAdm_Manifiesto1.BarButtonItem4.Enabled = True
            Else
                p_FlgVacio = False
            End If
            ModAdm_Manifiesto1.GridControl2.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("1", "2", p_CodLugarOrigen)
            ModAdm_Manifiesto1.GridControl3.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("3", "2", p_CodLugarOrigen)
            ModAdm_Manifiesto1.GridControl4.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("2", "2", p_CodLugarOrigen)
        End If
    End Sub

    Private downHitInfo As GridHitInfo

    Private Sub prl_view_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
        Dim view As GridView = TryCast(sender, GridView)
        downHitInfo = Nothing
        Dim hitInfo As GridHitInfo = view.CalcHitInfo(New Point(e.X, e.Y))
        If Control.ModifierKeys <> Keys.None Then
            Return
        End If
        If e.Button = MouseButtons.Left AndAlso hitInfo.RowHandle >= 0 Then
            downHitInfo = hitInfo
        End If
    End Sub

    Private Sub prl_view_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
        Dim view As GridView = TryCast(sender, GridView)
        If e.Button = MouseButtons.Left AndAlso downHitInfo IsNot Nothing Then
            Dim dragSize As Size = SystemInformation.DragSize
            Dim dragRect As New Rectangle(New Point(downHitInfo.HitPoint.X - dragSize.Width / 2, downHitInfo.HitPoint.Y - dragSize.Height / 2), dragSize)
            If (Not dragRect.Contains(New Point(e.X, e.Y))) Then
                Dim row As DataRow = view.GetDataRow(downHitInfo.RowHandle)
                view.GridControl.DoDragDrop(row, DragDropEffects.Move)
                downHitInfo = Nothing
                DevExpress.Utils.DXMouseEventArgs.GetMouseArgs(e).Handled = True
            End If
        End If
    End Sub

#End Region

#Region "Actualizacion de datos"

    Private Function prl_RemoverPasajero(ByVal p_row As DataRow) As Boolean
        Dim s_D_Manifiesto As New D_ManifiestoBE
        Dim s_Manifiesto As New ManifiestoBL
        Try
            s_D_Manifiesto.CodViaje = p_CodViaje
            s_D_Manifiesto.CodReserva = p_row("CodReserva")
            If s_Manifiesto.pr_RemoverPasajeroManifiesto(s_D_Manifiesto) Then
                Return True
            Else
                Return False
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        End Try
    End Function

    Private Function prl_GrabarPasajero(ByVal p_row As DataRow) As Boolean
        Dim s_C_Manifiesto As New C_ManifiestoBE
        Dim s_D_Manifiesto As New D_ManifiestoBE
        Dim s_Manifiesto As New ManifiestoBL
        Try
            s_C_Manifiesto.CodViaje = p_CodViaje
            s_C_Manifiesto.CodLugarOrigen = p_CodLugarOrigen
            s_C_Manifiesto.CodLugarDestino = p_CodLugarDestino
            s_C_Manifiesto.CodEmpresa = p_CodEmpresa
            s_C_Manifiesto.FchViaje = p_FchViaje
            s_C_Manifiesto.HraViaje = "05:45"
            s_C_Manifiesto.CodAeropuerto = 1
            s_C_Manifiesto.CodResponsable = 1
            s_C_Manifiesto.ObsCabecera = ""
            s_C_Manifiesto.ObsCabeceraManifiesto = ""
            s_C_Manifiesto.EstadoManifiesto = 0  ' creado
            s_C_Manifiesto.FlgProducto = False
            s_C_Manifiesto.FlgProvisionado = False
            s_C_Manifiesto.FlgValija = False
            s_C_Manifiesto.NroValija = ""
            s_C_Manifiesto.CodCreadopor = p_coduser
            s_C_Manifiesto.FchCreado = DateTime.Now
            s_C_Manifiesto.CodModificadopor = p_coduser
            s_C_Manifiesto.FchModificado = DateTime.Now

            s_D_Manifiesto.CodViaje = p_CodViaje
            s_D_Manifiesto.CodReserva = p_row("CodReserva")
            s_D_Manifiesto.NroDocumentoId = p_row("NroDocumentoId")
            s_D_Manifiesto.NomPasajero = p_row("NomPasajero")
            s_D_Manifiesto.AppPasajero = p_row("AppPasajero")
            s_D_Manifiesto.ApmPasajero = p_row("ApmPasajero")
            s_D_Manifiesto.NacionalidadPasajero = p_row("NacionalidadPasajero")
            s_D_Manifiesto.CodComunidad = ""
            s_D_Manifiesto.CodAnalisis = p_row("CodAnalisis")
            s_D_Manifiesto.CodCentroCosto = p_row("CodCentroCosto")
            s_D_Manifiesto.PctCentroCosto = p_row("PctCentroCosto")
            s_D_Manifiesto.CodCentroCosto2 = p_row("CodCentroCosto2")
            s_D_Manifiesto.PctCentroCosto2 = p_row("PctCentroCosto2")
            s_D_Manifiesto.ObsManifiesto = "" ' p_row("ObsManifiesto")
            s_D_Manifiesto.FlgLock = p_row("FlgLock")
            s_D_Manifiesto.FlgResponsable = p_row("FlgResponsable")
            If s_Manifiesto.pr_AgregarPasajeroManifiesto(s_C_Manifiesto, s_D_Manifiesto) Then
                Return True
            Else
                Return False
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        End Try
    End Function

    Public Sub prl_Imprimir()
        Dim RptManifiesto As New XRptManifiesto
        RptManifiesto.TituloReporte.Text = String.Format("{0} {1}", RptManifiesto.TituloReporte.Text, Format(p_FchViaje, "dd/MM/yyyy"))
        If p_FlgVacio = True Then
            RptManifiesto.DataSource = _Manifiesto.pr_RecuperarListaManifiestoImpresionSinPasajeros(p_CodViaje)
        Else
            RptManifiesto.DataSource = _Manifiesto.pr_RecuperarListaManifiestoImpresion(p_CodViaje)
        End If

        RptManifiesto.DataMember = "Manifiesto"
        RptManifiesto.ShowRibbonPreviewDialog()
    End Sub

    Public Sub prl_Button_Valija()
        Dim _ManifiestoC As New C_ManifiestoBE
        Dim _ManifiestoL As New ManifiestoBL
        _ManifiestoC = _ManifiestoL.pr_RecuperarCabecera(p_CodViaje)
        Using sfrmValija As New frmAdm_Valija() With {.p_CodViaje = p_CodViaje, .p_FchViaje = p_FchViaje, .p_NroValija = _ManifiestoC.NroValija}
            sfrmValija.ShowDialog(Me)
        End Using
    End Sub

    Public Sub prl_Button_ValijaImpresion()
        Dim _Valija As New v_ValijaBL
        Dim RptValija As New XRptValija
        RptValija.lbRuta.Text = String.Format("{0} - {1}", p_DesLugarOrigen, p_DesLugarDestino)
        RptValija.lbFecha.Text = p_FchViaje
        RptValija.lbNomEmpresa.Text = p_NomEmpresa
        RptValija.DataSource = _Valija.pr_ListarValijasImpresion(p_CodViaje)
        RptValija.DataMember = "Valija"
        RptValija.ShowRibbonPreviewDialog()
    End Sub

    Public Sub prl_Button_Cerrado()
        If DevExpress.XtraEditors.XtraMessageBox.Show(" Desea cerrar el manifiesto de manera parcial ?", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = System.Windows.Forms.DialogResult.Yes Then
            If _Manifiesto.pr_ActualizarEstado(p_CodViaje, "1", "2") Then
                MsgBox(" Manifiesto cerrado satisfactoriamente ", MsgBoxStyle.Information, Text)
                ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = False
            End If
        End If
    End Sub

    Public Sub prl_Button_Adjunto()
        Using sfrmAdjuntos As New frmAdm_ManifiestoAdjunto() With {.Text = "Archivos Adjuntos : " & p_CodViaje, .p_Codviaje = p_CodViaje}
            sfrmAdjuntos.ShowDialog(Me)
        End Using
    End Sub

    Public Sub prl_Button_Masdatos()
        Using sfrmMasDatos As New frmAdm_ManifiestoDatos() With {.Text = "Datos Adicionales...", .p_CodViaje = p_CodViaje, .Width = ModAdm_Manifiesto1.GridControl1.Width, .Height = ModAdm_Manifiesto1.GridControl1.Height}
            sfrmMasDatos.ShowDialog(Me)
        End Using
    End Sub

    Public Sub prl_Button_Buscar()
        Using sfrmBuscar As New frmAdm_ManifiestoBuscar() With {.Text = " Buscar Pasajeros "}
            sfrmBuscar.ShowDialog(Me)
        End Using
    End Sub

    Public Sub prl_Button_Responsable()
        If ModAdm_Manifiesto1.GridView1.RowCount > 0 Then
            Dim s_Manifiesto As New ManifiestoBL
            Dim row As DataRow = TryCast(ModAdm_Manifiesto1.GridView1.GetDataRow(ModAdm_Manifiesto1.GridView1.GetSelectedRows()(0)), DataRow)
            If Not row Is Nothing Then
                If s_Manifiesto.pr_UpdateDetalleManifiestoResponsable(p_CodViaje, row("CodReserva"), row("FlgResponsable")) Then
                End If
            End If
        End If
    End Sub

    Public Sub prl_Button_Lock()
        If ModAdm_Manifiesto1.GridView1.RowCount > 0 Then
            Dim s_Manifiesto As New ManifiestoBL
            Dim row As DataRow = TryCast(ModAdm_Manifiesto1.GridView1.GetDataRow(ModAdm_Manifiesto1.GridView1.GetSelectedRows()(0)), DataRow)
            If Not row Is Nothing Then
                If s_Manifiesto.pr_UpdateDetalleManifiestoLock(p_CodViaje, row("CodReserva"), row("FlgLock")) Then
                End If
            End If
        End If
    End Sub

    Public Sub prl_Button_VueloCancelado()
        If DevExpress.XtraEditors.XtraMessageBox.Show(" Esta seguro de cancelar el vuelo ?", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = System.Windows.Forms.DialogResult.Yes Then
            If DevExpress.XtraEditors.XtraMessageBox.Show(" Desea trasaldar a todos los pasajeros a otro vuelo " & "o habilitar a todos los pasajeros ?", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = System.Windows.Forms.DialogResult.Yes Then
                ' paso a todos los pasajeros a otro vuelo

                Using sFrmEnvio As New frmAdm_ManifiestoVuelo() With {.CodViaje = p_CodViaje, .CodReserva = ""}
                    sFrmEnvio.SLIItem.Text = "TODOS LOS PASAJEROS DEL VUELO " & p_CodViaje
                    sFrmEnvio.ShowDialog()
                End Using
            Else
                ' cambio el estado de todos los pasajeros a "habilitado"
                Dim s_Manifiesto As New ManifiestoBL
                s_Manifiesto.pr_UpdateManifiestoCancelado(p_CodViaje)
            End If
            ModAdm_Manifiesto1.TreeList1.DataSource = _ProgramaViaje.pr_ListarProgramaViajeTreeList(p_coduser)
            ModAdm_Manifiesto1.TreeList1.ExpandAll()
            ModAdm_Manifiesto1.TreeList1.BestFitColumns()
            ' actualizo la ventana
            ModAdm_Manifiesto1.BarSubItem1.Enabled = True
            ModAdm_Manifiesto1.GridControl1.DataSource = _Manifiesto.pr_ListarManifiesto(p_CodViaje)
            ModAdm_Manifiesto1.BarButtonItem4.Enabled = False
            BarBtnImprimir.Enabled = False
            ModAdm_Manifiesto1.BtnCerradoParcial.Enabled = False
            ModAdm_Manifiesto1.GridControl2.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("1", "2", p_CodLugarOrigen)
            ModAdm_Manifiesto1.GridControl3.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("3", "2", p_CodLugarOrigen)
            ModAdm_Manifiesto1.GridControl4.DataSource = _V_Reservas.pr_Cargar_ReservaPendiente("2", "2", p_CodLugarOrigen)
        End If
    End Sub

    Public Sub prl_Button_VueloVacio()
        Dim oDialogResult As DialogResult
        Dim s_C_Manifiesto As New C_ManifiestoBE
        Dim s_Manifiesto As New ManifiestoBL
        Using sfrmChk As New frmChk_ArriboMessage() With {.Text = " ! VUELO SIN PASAJEROS  ! "}
            sfrmChk.lbMensaje.Text = " Esta seguro de considerar el vuelo sin pasajeros ?"
            sfrmChk.MaximizeBox = False
            sfrmChk.MinimizeBox = False
            sfrmChk.ShowIcon = False
            sfrmChk.npMain.Text = " Una vez aceptado no permitira ingresar pasajeros al vuelo "
            oDialogResult = sfrmChk.ShowDialog()
            If oDialogResult = System.Windows.Forms.DialogResult.OK Then
                Try
                    s_C_Manifiesto.CodViaje = p_CodViaje
                    s_C_Manifiesto.CodLugarOrigen = p_CodLugarOrigen
                    s_C_Manifiesto.CodLugarDestino = p_CodLugarDestino
                    s_C_Manifiesto.CodEmpresa = p_CodEmpresa
                    s_C_Manifiesto.FchViaje = p_FchViaje
                    s_C_Manifiesto.HraViaje = "05:45"
                    s_C_Manifiesto.CodAeropuerto = 1
                    s_C_Manifiesto.CodResponsable = 1
                    s_C_Manifiesto.ObsCabecera = ""
                    s_C_Manifiesto.ObsCabeceraManifiesto = ""
                    s_C_Manifiesto.EstadoManifiesto = 0  ' creado
                    s_C_Manifiesto.FlgProducto = False
                    s_C_Manifiesto.FlgProvisionado = False
                    s_C_Manifiesto.FlgValija = False
                    s_C_Manifiesto.NroValija = ""
                    s_C_Manifiesto.CodCreadopor = p_coduser
                    s_C_Manifiesto.FchCreado = DateTime.Now
                    s_C_Manifiesto.CodModificadopor = p_coduser
                    s_C_Manifiesto.FchModificado = DateTime.Now
                    If s_Manifiesto.pr_AgregarCabeceraManifiesto(s_C_Manifiesto) Then
                        MsgBox(" Vuelo sin pasajeros grabado satisfactoriamente ", MsgBoxStyle.ApplicationModal)
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try
            End If
        End Using
        Return
    End Sub

    Public Sub prl_Button_ReservasPendientes()
        Dim RptResPendiente As New XRptReserva
        RptResPendiente.DataSource = prl_CargarReservas()
        RptResPendiente.DataMember = "Reservas"
        RptResPendiente.ShowRibbonPreviewDialog()
    End Sub

    Public Function prl_CargarReservas() As DataTable
        Dim _RT As New T_CentroCostoTrabajadorVE
        Dim _RTBL As New T_CentroCostoTrabajadorBL
        Dim dt As New DataTable
        dt.Columns.Add("NomEmpresa")
        dt.Columns.Add("AppPasajero")
        dt.Columns.Add("ApmPasajero")
        dt.Columns.Add("NomPasajero")
        dt.Columns.Add("NroDocumentoId")
        dt.Columns.Add("FchViaje")
        dt.Columns.Add("Cargo")
        dt.Columns.Add("Residencia")
        dt.Columns.Add("FchIngreso")
        ' cargo las reservas del personal de marsa
        Dim Row1 As DataRow
        For P = 0 To ModAdm_Manifiesto1.GridView2.RowCount - 1
            Row1 = CType(ModAdm_Manifiesto1.GridView2.GetDataRow(P), DataRow)
            Const sNomEmpresa As String = "MARSA"
            Dim sAppPasajero As String = Row1("AppPasajero")
            Dim sApmPasajero As String = Row1("ApmPasajero")
            Dim sNomPasajero As String = Row1("NomPasajero")
            Dim sNroDocumentoId As String = Row1("NroDocumentoId")
            Dim FchViaje As String = Row1("FchViaje")
            _RT = _RTBL.pr_RecuperarTrabajador(Row1("NroDocumentoId"))
            Dim sCargo As String = _RT.titulopuesto
            Dim sResidencia As String = _RT.departamento
            Dim sFchIngreso As String = _RT.fechaingreso & ""

            dt.Rows.Add(New Object() {sNomEmpresa, sAppPasajero, sApmPasajero, sNomPasajero, sNroDocumentoId, FchViaje, sCargo, sResidencia, sFchIngreso})
        Next
        ' cargo las resrevas de proveedores y otros
        For D = 0 To ModAdm_Manifiesto1.GridView3.RowCount - 1
            Row1 = CType(ModAdm_Manifiesto1.GridView3.GetDataRow(D), DataRow)
            Dim sNomEmpresa As String = Row1("Desanl")
            Dim sAppPasajero As String = Row1("AppPasajero")
            Dim sApmPasajero As String = Row1("ApmPasajero")
            Dim sNomPasajero As String = Row1("NomPasajero")
            Dim sNroDocumentoId As String = Row1("NroDocumentoId")
            Dim FchViaje As String = Row1("FchViaje")
            dt.Rows.Add(New Object() {sNomEmpresa, sAppPasajero, sApmPasajero, sNomPasajero, sNroDocumentoId, FchViaje, "", "", ""})
        Next
        ' cargo las resrevas de contratas
        For D = 0 To ModAdm_Manifiesto1.GridView4.RowCount - 1
            Row1 = CType(ModAdm_Manifiesto1.GridView4.GetDataRow(D), DataRow)
            Dim sNomEmpresa As String = Row1("Desanl")
            Dim sAppPasajero As String = Row1("AppPasajero")
            Dim sApmPasajero As String = Row1("ApmPasajero")
            Dim sNomPasajero As String = Row1("NomPasajero")
            Dim sNroDocumentoId As String = Row1("NroDocumentoId")
            Dim FchViaje As String = Row1("FchViaje")
            dt.Rows.Add(New Object() {sNomEmpresa, sAppPasajero, sApmPasajero, sNomPasajero, sNroDocumentoId, FchViaje, "", "", ""})
        Next
        Return dt
    End Function

    Public Sub prl_SetUpGrid(ByVal grid As GridControl)
        grid.AllowDrop = True
        AddHandler grid.DragOver, AddressOf prl_grid_DragOver
        AddHandler grid.DragDrop, AddressOf prl_grid_DragDrop
        Dim view As GridView = TryCast(grid.MainView, GridView)
        view.OptionsBehavior.Editable = False
        AddHandler view.MouseMove, AddressOf prl_view_MouseMove
        AddHandler view.MouseDown, AddressOf prl_view_MouseDown
    End Sub

    Private Sub prl_grid_DragOver(ByVal sender As Object, ByVal e As DragEventArgs)
        If e.Data.GetDataPresent(GetType(DataRow)) Then
            e.Effect = DragDropEffects.Move
        Else
            e.Effect = DragDropEffects.None
        End If
    End Sub

    Private Sub prl_grid_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs)
        Dim grid As GridControl = TryCast(sender, GridControl)
        Dim table As DataTable = TryCast(grid.DataSource, DataTable)
        Dim row As DataRow = TryCast(e.Data.GetData(GetType(DataRow)), DataRow)
        Dim _CMani As New C_ManifiestoBE
        _CMani = _Manifiesto.pr_RecuperarCabecera(p_CodViaje)
        If row IsNot Nothing AndAlso table IsNot Nothing AndAlso row.Table IsNot table Then
            If grid.Tag = "GridEmp" Or grid.Tag = "GridProv" Or grid.Tag = "GridCont" Then
                If _CMani.EstadoManifiesto = "1" Then
                    MsgBox("  Bloqueado por un cierre parcial del manifiesto ", MsgBoxStyle.Critical, Text)
                    Return
                End If
                If _CMani.EstadoManifiesto = "2" Then
                    MsgBox("  Bloqueado por un cierre total del manifiesto ", MsgBoxStyle.Critical, Text)
                    Return
                End If
                If row("FlgLock") = 1 Then
                    MsgBox(" Registro bloqueado ", MsgBoxStyle.Critical, " Lista de Manifiesto")
                    Return
                End If
                If grid.Tag = "GridEmp" Then
                    If row("TipPasajero") <> "1" Then
                        MsgBox(" Reserva sólo para Personal Empresa ", MsgBoxStyle.Critical, " Lista de Manifiesto")
                        Return
                    End If
                End If
                If grid.Tag = "GridCont" Then
                    If row("TipPasajero") <> "2" Then
                        MsgBox(" Reserva sólo para Contratas ", MsgBoxStyle.Critical, " Lista de Manifiesto")
                        Return
                    End If
                End If
                If grid.Tag = "GridProv" Then
                    If row("TipPasajero") = "1" Then
                        MsgBox(" Reserva sólo para Proveedores/Invitados y Terceros ", MsgBoxStyle.Critical, " Lista de Manifiesto")
                        Return
                    End If
                    If row("TipPasajero") = "2" Then
                        MsgBox(" Reserva sólo para Proveedores/Invitados y Terceros ", MsgBoxStyle.Critical, " Lista de Manifiesto")
                        Return
                    End If
                End If
                If prl_RemoverPasajero(row) Then
                    table.ImportRow(row)
                    row.Delete()
                End If
            Else
                Dim nfaltantepasajeros As Integer = ModAdm_Manifiesto1.GridColumn12.SummaryItem.SummaryValue
                Dim npesototal As Decimal = ModAdm_Manifiesto1.GridColumn16.SummaryItem.SummaryValue + ModAdm_Manifiesto1.GridColumn17.SummaryItem.SummaryValue + row("PsoPasajero") + row("PsoEquipajePasajero")
                If nfaltantepasajeros = 0 Then
                    MsgBox(" La cantidad máxima de pasajeros seria sobrepasada al agregar al pasajero al manifiesto", MsgBoxStyle.Critical, Text)
                    Return
                End If
                If npesototal > p_PesoVuelo Then
                    MsgBox(" El peso máximo de carga seria sobrepasado al adicionar al pasajero seleccionado ", MsgBoxStyle.Critical, Text)
                    Return
                End If
                If _CMani.FlgVacio = True Then
                    MsgBox("  Bloqueado por ser un vuelo sin pasajeros ", MsgBoxStyle.Critical, Text)
                    Return
                End If
                If _CMani.EstadoManifiesto = "1" Then
                    MsgBox(" No se puede ingresar más pasajeros por un cierre parcial del manifiesto ", MsgBoxStyle.Critical, Text)
                    Return
                End If
                If _CMani.EstadoManifiesto = "2" Then
                    MsgBox(" No se puede ingresar más pasajeros por un cierre total del manifiesto ", MsgBoxStyle.Critical, Text)
                    Return
                End If
                If Not ModAdm_Manifiesto1.GetBuscar("NroDocumentoId", row("NroDocumentoId")) Then
                    Return
                End If
                row("FlgLock") = 0
                row("FlgResponsable") = False
                If prl_GrabarPasajero(row) Then
                    table.ImportRow(row)
                    row.Delete()
                End If
            End If
        End If
    End Sub

    Class DragData
        Public sourceData As DataTable
        Public dataRowIndexes As Integer()
        Public Sub New()
            sourceData = Nothing
            dataRowIndexes = Nothing
        End Sub
    End Class

    Private Function prl_GetDragData(ByVal view As GridView) As DragData
        Dim selection() As Integer = view.GetSelectedRows()
        If selection Is Nothing Then
            Return Nothing
        End If
        Dim count As Integer = selection.Length
        Dim result As DragData = New DragData()
        result.sourceData = CType(view.GridControl.DataSource, DataTable)
        result.dataRowIndexes = New Integer(count - 1) {}

        For i As Integer = 0 To count - 1
            result.dataRowIndexes(i) = view.GetDataSourceRowIndex(selection(i))
        Next i
        Return result
    End Function

#End Region

#Region "Miscelaneos"

    Public Sub prl_DoubleClickGridControl1(sender As Object, e As EventArgs)
        If ModAdm_Manifiesto1.GridView1.RowCount > 0 Then
            Dim row As DataRow = TryCast(ModAdm_Manifiesto1.GridView1.GetDataRow(ModAdm_Manifiesto1.GridView1.GetSelectedRows()(0)), DataRow)
            If Not row Is Nothing Then
                Dim _CMani As New C_ManifiestoBE
                _CMani = _Manifiesto.pr_RecuperarCabecera(p_CodViaje)
                Dim table As DataTable = TryCast(IIf(row("TipPasajero") = "1" Or row("TipPasajero") = "8", ModAdm_Manifiesto1.GridControl2.DataSource, IIf(row("TipPasajero") = "2" Or row("TipPasajero") = "9", ModAdm_Manifiesto1.GridControl4.DataSource, ModAdm_Manifiesto1.GridControl3.DataSource)), DataTable)
                If row IsNot Nothing AndAlso table IsNot Nothing AndAlso row.Table IsNot table Then
                    If _CMani.EstadoManifiesto = "1" Then
                        MsgBox("  Bloqueado por un cierre parcial del manifiesto ", MsgBoxStyle.Critical, Text)
                        Return
                    End If
                    If _CMani.EstadoManifiesto = "2" Then
                        MsgBox("  Bloqueado por un cierre total del manifiesto ", MsgBoxStyle.Critical, Text)
                        Return
                    End If
                    If row("FlgLock") = 1 Then
                        MsgBox(" Registro bloqueado ", MsgBoxStyle.Critical, " Lista de Manifiesto")
                        Return
                    End If
                    If prl_RemoverPasajero(row) Then
                        table.ImportRow(row)
                        row.Delete()
                    End If
                End If
            End If
        End If
    End Sub

    Public Sub prl_DoubleClickGridControl2(sender As Object, e As EventArgs)
        Dim grid As GridControl = TryCast(sender, GridControl)
        Dim table As DataTable = TryCast(ModAdm_Manifiesto1.GridControl1.DataSource, DataTable)
        If ModAdm_Manifiesto1.GridView2.RowCount > 0 Then
            Try
                Dim row As DataRow = TryCast(ModAdm_Manifiesto1.GridView2.GetDataRow(ModAdm_Manifiesto1.GridView2.GetSelectedRows()(0)), DataRow)
                If Not row Is Nothing Then
                    Dim _CMani As New C_ManifiestoBE
                    _CMani = _Manifiesto.pr_RecuperarCabecera(p_CodViaje)
                    If row IsNot Nothing AndAlso table IsNot Nothing AndAlso row.Table IsNot table Then
                        If _CMani.FlgVacio = True Then
                            MsgBox("  Bloqueado por ser un vuelo sin pasajeros ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "1" Then
                            MsgBox("  Bloqueado por un cierre parcial del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "2" Then
                            MsgBox("  Bloqueado por un cierre total del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        Dim nfaltantepasajeros As Integer = ModAdm_Manifiesto1.GridColumn12.SummaryItem.SummaryValue
                        Dim npesototal As Decimal = ModAdm_Manifiesto1.GridColumn16.SummaryItem.SummaryValue + ModAdm_Manifiesto1.GridColumn17.SummaryItem.SummaryValue + row("PsoPasajero") + row("PsoEquipajePasajero")
                        If nfaltantepasajeros = 0 Then
                            MsgBox(" La cantidad máxima de pasajeros seria sobrepasada al agregar al pasajero al manifiesto", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If npesototal > p_PesoVuelo Then
                            MsgBox(" El peso máximo de carga seria sobrepasado al adicionar al pasajero seleccionado ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "1" Then
                            MsgBox(" No se puede ingresar más pasajeros por un cierre parcial del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "2" Then
                            MsgBox(" No se puede ingresar más pasajeros por un cierre total del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If Not ModAdm_Manifiesto1.GetBuscar("NroDocumentoId", row("NroDocumentoId")) Then
                            Return
                        End If
                        row("FlgLock") = 0
                        row("FlgResponsable") = False
                        If prl_GrabarPasajero(row) Then
                            table.ImportRow(row)
                            row.Delete()
                        End If
                    End If
                End If
            Catch ex As Exception
            End Try
        End If
    End Sub

    Public Sub prl_DoubleClickGridControl3(sender As Object, e As EventArgs)
        Dim grid As GridControl = TryCast(sender, GridControl)
        Dim table As DataTable = TryCast(ModAdm_Manifiesto1.GridControl1.DataSource, DataTable)
        If ModAdm_Manifiesto1.GridView3.RowCount > 0 Then
            Try
                Dim row As DataRow = TryCast(ModAdm_Manifiesto1.GridView3.GetDataRow(ModAdm_Manifiesto1.GridView3.GetSelectedRows()(0)), DataRow)
                If Not row Is Nothing Then
                    Dim _CMani As New C_ManifiestoBE
                    _CMani = _Manifiesto.pr_RecuperarCabecera(p_CodViaje)
                    If row IsNot Nothing AndAlso table IsNot Nothing AndAlso row.Table IsNot table Then
                        If _CMani.FlgVacio = True Then
                            MsgBox("  Bloqueado por ser un vuelo sin pasajeros ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "1" Then
                            MsgBox("  Bloqueado por un cierre parcial del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "2" Then
                            MsgBox("  Bloqueado por un cierre total del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        Dim nfaltantepasajeros As Integer = ModAdm_Manifiesto1.GridColumn12.SummaryItem.SummaryValue
                        Dim npesototal As Decimal = ModAdm_Manifiesto1.GridColumn16.SummaryItem.SummaryValue + ModAdm_Manifiesto1.GridColumn17.SummaryItem.SummaryValue + row("PsoPasajero") + row("PsoEquipajePasajero")
                        If nfaltantepasajeros = 0 Then
                            MsgBox(" La cantidad máxima de pasajeros seria sobrepasada al agregar al pasajero al manifiesto", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If npesototal > p_PesoVuelo Then
                            MsgBox(" El peso máximo de carga seria sobrepasado al adicionar al pasajero seleccionado ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "1" Then
                            MsgBox(" No se puede ingresar más pasajeros por un cierre parcial del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "2" Then
                            MsgBox(" No se puede ingresar más pasajeros por un cierre total del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If Not ModAdm_Manifiesto1.GetBuscar("NroDocumentoId", row("NroDocumentoId")) Then
                            Return
                        End If
                        row("FlgLock") = 0
                        row("FlgResponsable") = False
                        If prl_GrabarPasajero(row) Then
                            table.ImportRow(row)
                            row.Delete()
                        End If
                    End If
                End If
            Catch ex As Exception
            End Try
        End If
    End Sub

    Public Sub prl_DoubleClickGridControl4(sender As Object, e As EventArgs)
        Dim grid As GridControl = TryCast(sender, GridControl)
        Dim table As DataTable = TryCast(ModAdm_Manifiesto1.GridControl1.DataSource, DataTable)
        If ModAdm_Manifiesto1.GridView4.RowCount > 0 Then
            Try
                Dim row As DataRow = TryCast(ModAdm_Manifiesto1.GridView4.GetDataRow(ModAdm_Manifiesto1.GridView4.GetSelectedRows()(0)), DataRow)
                If Not row Is Nothing Then
                    Dim _CMani As New C_ManifiestoBE
                    _CMani = _Manifiesto.pr_RecuperarCabecera(p_CodViaje)
                    If row IsNot Nothing AndAlso table IsNot Nothing AndAlso row.Table IsNot table Then
                        If _CMani.FlgVacio = True Then
                            MsgBox("  Bloqueado por ser un vuelo sin pasajeros ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "1" Then
                            MsgBox("  Bloqueado por un cierre parcial del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "2" Then
                            MsgBox("  Bloqueado por un cierre total del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        Dim nfaltantepasajeros As Integer = ModAdm_Manifiesto1.GridColumn12.SummaryItem.SummaryValue
                        Dim npesototal As Decimal = ModAdm_Manifiesto1.GridColumn16.SummaryItem.SummaryValue + ModAdm_Manifiesto1.GridColumn17.SummaryItem.SummaryValue + row("PsoPasajero") + row("PsoEquipajePasajero")
                        If nfaltantepasajeros = 0 Then
                            MsgBox(" La cantidad máxima de pasajeros seria sobrepasada al agregar al pasajero al manifiesto", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If npesototal > p_PesoVuelo Then
                            MsgBox(" El peso máximo de carga seria sobrepasado al adicionar al pasajero seleccionado ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "1" Then
                            MsgBox(" No se puede ingresar más pasajeros por un cierre parcial del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If _CMani.EstadoManifiesto = "2" Then
                            MsgBox(" No se puede ingresar más pasajeros por un cierre total del manifiesto ", MsgBoxStyle.Critical, Text)
                            Return
                        End If
                        If Not ModAdm_Manifiesto1.GetBuscar("NroDocumentoId", row("NroDocumentoId")) Then
                            Return
                        End If
                        row("FlgLock") = 0
                        row("FlgResponsable") = False
                        If prl_GrabarPasajero(row) Then
                            table.ImportRow(row)
                            row.Delete()
                        End If
                    End If
                End If
            Catch ex As Exception
            End Try
        End If
    End Sub

    Public Sub prl_CalcularSumario(sender As Object, e As DevExpress.Data.CustomSummaryEventArgs)
        Dim summaryID As Integer = Convert.ToInt32(CType(e.Item, GridSummaryItem).Tag)
        Dim View As GridView = CType(sender, GridView)
        ' Initialization 
        If e.SummaryProcess = CustomSummaryProcess.Start Then
            pasajerosCount = 0
        End If
        ' Calculation 
        If e.SummaryProcess = CustomSummaryProcess.Calculate Then
            Select Case summaryID
                Case 2 ' The group summary. 
                    pasajerosCount += 1
            End Select
        End If
        ' Finalization 
        If e.SummaryProcess = CustomSummaryProcess.Finalize Then
            Select Case summaryID
                Case 2
                    e.TotalValue = p_NroPasajeros - pasajerosCount
            End Select
        End If
    End Sub

#End Region

End Class